/**
 * 415. 字符串相加
 *
 * 【简单】
 *
 * 给定两个字符串形式的非负整数 num1 和num2 ，计算它们的和并同样以字符串形式返回。
 * 你不能使用任何內建的用于处理大整数的库（比如 BigInteger）， 也不能直接将输入的字符串转换为整数形式。
 *
 * 示例 1：
 * 输入：num1 = "11", num2 = "123"
 * 输出："134"
 *
 * 示例 2：
 * 输入：num1 = "456", num2 = "77"
 * 输出："533"
 *
 * 示例 3：
 * 输入：num1 = "0", num2 = "0"
 * 输出："0"
 */

function addStrings(num1: string, num2: string): string {
	while (num1.length > num2.length) {
		num2 = '0' + num2
	}
	while (num1.length < num2.length) {
		num1 = '0' + num1
	}

	let res = '',
		carry = 0
	for (let i = num1.length - 1; i >= 0; i--) {
		const sum = +num1[i] + +num2[i] + carry
		res = (sum % 10) + res
		carry = sum > 9 ? 1 : 0
	}

	if (carry === 1) {
		res = '1' + res
	}

	return res
}
